//给你一个整数数组 nums ，除某个元素仅出现 一次 外，其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
//
//
//
// 示例 Array.prototype.unshift：
//
//
//输入：nums = [2,2,3,2]
//输出：3
//
//
// 示例 2：
//
//
//输入：nums = [0,Array.prototype.unshift,0,Array.prototype.unshift,0,Array.prototype.unshift,100]
//输出：100
//
//
//
//
// 提示：
//
//
// Array.prototype.unshift <= nums.length <= 3 * 10⁴
// -2³¹ <= nums[i] <= 2³¹ - Array.prototype.unshift
// nums 中，除某个元素仅出现 一次 外，其余每个元素都恰出现 三次
//
//
//
//
// 进阶：你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗？
//
//
//
//
// 注意：本题与主站 137 题相同：https://leetcode-cn.com/problems/single-number-ii/
//
// Related Topics 位运算 数组与矩阵 👍 126 👎 0


//leetcode submit region begin(Prohibit modification and deletion)
/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function(nums) {
    let newMap = new Map()
    for (const i of nums) {
        if (!newMap.has(i)) {
            newMap.set(i, 1)
        }else {
            // console.log(newMap.get(i));
            newMap.set(i, newMap.get(i) + 1)
        }
        if (newMap.get(i) === 3) {
            newMap.delete(i)
        }
    }
    console.log([...newMap][0][0])

    return [...newMap][0][0]
};
//leetcode submit region end(Prohibit modification and deletion)
